/*
 *
 *    Copyright (c) 2022 Project CHIP Authors
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

// THIS FILE IS GENERATED BY ZAP

#import "MTRStructsObjc.h"

NS_ASSUME_NONNULL_BEGIN

@implementation MTRScenesClusterAttributeValuePair
- (instancetype)init
{
    if (self = [super init]) {

        _attributeId = nil;

        _attributeValue = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: attributeId:%@; attributeValue:%@; >",
                                             NSStringFromClass([self class]), _attributeId, _attributeValue];
    return descriptionString;
}

@end

@implementation MTRScenesClusterExtensionFieldSet
- (instancetype)init
{
    if (self = [super init]) {

        _clusterId = @(0);

        _attributeValueList = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: clusterId:%@; attributeValueList:%@; >",
                                             NSStringFromClass([self class]), _clusterId, _attributeValueList];
    return descriptionString;
}

@end

@implementation MTRDescriptorClusterDeviceType
- (instancetype)init
{
    if (self = [super init]) {

        _type = @(0);

        _revision = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: type:%@; revision:%@; >", NSStringFromClass([self class]), _type, _revision];
    return descriptionString;
}

@end

@implementation MTRBindingClusterTargetStruct
- (instancetype)init
{
    if (self = [super init]) {

        _node = nil;

        _group = nil;

        _endpoint = nil;

        _cluster = nil;

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: node:%@; group:%@; endpoint:%@; cluster:%@; fabricIndex:%@; >",
                                             NSStringFromClass([self class]), _node, _group, _endpoint, _cluster, _fabricIndex];
    return descriptionString;
}

@end

@implementation MTRAccessControlClusterTarget
- (instancetype)init
{
    if (self = [super init]) {

        _cluster = nil;

        _endpoint = nil;

        _deviceType = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: cluster:%@; endpoint:%@; deviceType:%@; >",
                                             NSStringFromClass([self class]), _cluster, _endpoint, _deviceType];
    return descriptionString;
}

@end

@implementation MTRAccessControlClusterAccessControlEntry
- (instancetype)init
{
    if (self = [super init]) {

        _privilege = @(0);

        _authMode = @(0);

        _subjects = nil;

        _targets = nil;

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: privilege:%@; authMode:%@; subjects:%@; targets:%@; fabricIndex:%@; >",
                  NSStringFromClass([self class]), _privilege, _authMode, _subjects, _targets, _fabricIndex];
    return descriptionString;
}

@end

@implementation MTRAccessControlClusterExtensionEntry
- (instancetype)init
{
    if (self = [super init]) {

        _data = [NSData data];

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: data:%@; fabricIndex:%@; >", NSStringFromClass([self class]),
                                             [_data base64EncodedStringWithOptions:0], _fabricIndex];
    return descriptionString;
}

@end

@implementation MTRAccessControlClusterAccessControlEntryChangedEvent
- (instancetype)init
{
    if (self = [super init]) {

        _adminNodeID = nil;

        _adminPasscodeID = nil;

        _changeType = @(0);

        _latestValue = nil;

        _adminFabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: adminNodeID:%@; adminPasscodeID:%@; changeType:%@; latestValue:%@; adminFabricIndex:%@; >",
        NSStringFromClass([self class]), _adminNodeID, _adminPasscodeID, _changeType, _latestValue, _adminFabricIndex];
    return descriptionString;
}

@end

@implementation MTRAccessControlClusterAccessControlExtensionChangedEvent
- (instancetype)init
{
    if (self = [super init]) {

        _adminNodeID = nil;

        _adminPasscodeID = nil;

        _changeType = @(0);

        _latestValue = nil;

        _adminFabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: adminNodeID:%@; adminPasscodeID:%@; changeType:%@; latestValue:%@; adminFabricIndex:%@; >",
        NSStringFromClass([self class]), _adminNodeID, _adminPasscodeID, _changeType, _latestValue, _adminFabricIndex];
    return descriptionString;
}

@end

@implementation MTRBridgedActionsClusterActionStruct
- (instancetype)init
{
    if (self = [super init]) {

        _actionID = @(0);

        _name = @"";

        _type = @(0);

        _endpointListID = @(0);

        _supportedCommands = @(0);

        _status = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: actionID:%@; name:%@; type:%@; endpointListID:%@; supportedCommands:%@; status:%@; >",
                  NSStringFromClass([self class]), _actionID, _name, _type, _endpointListID, _supportedCommands, _status];
    return descriptionString;
}

@end

@implementation MTRBridgedActionsClusterEndpointListStruct
- (instancetype)init
{
    if (self = [super init]) {

        _endpointListID = @(0);

        _name = @"";

        _type = @(0);

        _endpoints = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: endpointListID:%@; name:%@; type:%@; endpoints:%@; >",
                                             NSStringFromClass([self class]), _endpointListID, _name, _type, _endpoints];
    return descriptionString;
}

@end

@implementation MTRBridgedActionsClusterStateChangedEvent
- (instancetype)init
{
    if (self = [super init]) {

        _actionID = @(0);

        _invokeID = @(0);

        _newState = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: actionID:%@; invokeID:%@; newState:%@; >",
                                             NSStringFromClass([self class]), _actionID, _invokeID, _newState];
    return descriptionString;
}

@end

@implementation MTRBridgedActionsClusterActionFailedEvent
- (instancetype)init
{
    if (self = [super init]) {

        _actionID = @(0);

        _invokeID = @(0);

        _newState = @(0);

        _error = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: actionID:%@; invokeID:%@; newState:%@; error:%@; >",
                                             NSStringFromClass([self class]), _actionID, _invokeID, _newState, _error];
    return descriptionString;
}

@end

@implementation MTRBasicClusterCapabilityMinimaStruct
- (instancetype)init
{
    if (self = [super init]) {

        _caseSessionsPerFabric = @(0);

        _subscriptionsPerFabric = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: caseSessionsPerFabric:%@; subscriptionsPerFabric:%@; >",
                                             NSStringFromClass([self class]), _caseSessionsPerFabric, _subscriptionsPerFabric];
    return descriptionString;
}

@end

@implementation MTRBasicClusterStartUpEvent
- (instancetype)init
{
    if (self = [super init]) {

        _softwareVersion = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: softwareVersion:%@; >", NSStringFromClass([self class]), _softwareVersion];
    return descriptionString;
}

@end

@implementation MTRBasicClusterShutDownEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRBasicClusterLeaveEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRBasicClusterReachableChangedEvent
- (instancetype)init
{
    if (self = [super init]) {

        _reachableNewValue = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: reachableNewValue:%@; >", NSStringFromClass([self class]), _reachableNewValue];
    return descriptionString;
}

@end

@implementation MTROtaSoftwareUpdateRequestorClusterProviderLocation
- (instancetype)init
{
    if (self = [super init]) {

        _providerNodeID = @(0);

        _endpoint = @(0);

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: providerNodeID:%@; endpoint:%@; fabricIndex:%@; >",
                                             NSStringFromClass([self class]), _providerNodeID, _endpoint, _fabricIndex];
    return descriptionString;
}

@end

@implementation MTROtaSoftwareUpdateRequestorClusterStateTransitionEvent
- (instancetype)init
{
    if (self = [super init]) {

        _previousState = @(0);

        _newState = @(0);

        _reason = @(0);

        _targetSoftwareVersion = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: previousState:%@; newState:%@; reason:%@; targetSoftwareVersion:%@; >",
                  NSStringFromClass([self class]), _previousState, _newState, _reason, _targetSoftwareVersion];
    return descriptionString;
}

@end

@implementation MTROtaSoftwareUpdateRequestorClusterVersionAppliedEvent
- (instancetype)init
{
    if (self = [super init]) {

        _softwareVersion = @(0);

        _productID = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: softwareVersion:%@; productID:%@; >",
                                             NSStringFromClass([self class]), _softwareVersion, _productID];
    return descriptionString;
}

@end

@implementation MTROtaSoftwareUpdateRequestorClusterDownloadErrorEvent
- (instancetype)init
{
    if (self = [super init]) {

        _softwareVersion = @(0);

        _bytesDownloaded = @(0);

        _progressPercent = nil;

        _platformCode = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: softwareVersion:%@; bytesDownloaded:%@; progressPercent:%@; platformCode:%@; >",
                  NSStringFromClass([self class]), _softwareVersion, _bytesDownloaded, _progressPercent, _platformCode];
    return descriptionString;
}

@end

@implementation MTRPowerSourceClusterBatChargeFaultChangeType
- (instancetype)init
{
    if (self = [super init]) {

        _current = [NSArray array];

        _previous = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: current:%@; previous:%@; >", NSStringFromClass([self class]), _current, _previous];
    return descriptionString;
}

@end

@implementation MTRPowerSourceClusterBatFaultChangeType
- (instancetype)init
{
    if (self = [super init]) {

        _current = [NSArray array];

        _previous = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: current:%@; previous:%@; >", NSStringFromClass([self class]), _current, _previous];
    return descriptionString;
}

@end

@implementation MTRPowerSourceClusterWiredFaultChangeType
- (instancetype)init
{
    if (self = [super init]) {

        _current = [NSArray array];

        _previous = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: current:%@; previous:%@; >", NSStringFromClass([self class]), _current, _previous];
    return descriptionString;
}

@end

@implementation MTRGeneralCommissioningClusterBasicCommissioningInfo
- (instancetype)init
{
    if (self = [super init]) {

        _failSafeExpiryLengthSeconds = @(0);

        _maxCumulativeFailsafeSeconds = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: failSafeExpiryLengthSeconds:%@; maxCumulativeFailsafeSeconds:%@; >",
                  NSStringFromClass([self class]), _failSafeExpiryLengthSeconds, _maxCumulativeFailsafeSeconds];
    return descriptionString;
}

@end

@implementation MTRNetworkCommissioningClusterNetworkInfo
- (instancetype)init
{
    if (self = [super init]) {

        _networkID = [NSData data];

        _connected = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: networkID:%@; connected:%@; >", NSStringFromClass([self class]),
                  [_networkID base64EncodedStringWithOptions:0], _connected];
    return descriptionString;
}

@end

@implementation MTRNetworkCommissioningClusterThreadInterfaceScanResult
- (instancetype)init
{
    if (self = [super init]) {

        _panId = @(0);

        _extendedPanId = @(0);

        _networkName = @"";

        _channel = @(0);

        _version = @(0);

        _extendedAddress = [NSData data];

        _rssi = @(0);

        _lqi = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:
            @"<%@: panId:%@; extendedPanId:%@; networkName:%@; channel:%@; version:%@; extendedAddress:%@; rssi:%@; lqi:%@; >",
        NSStringFromClass([self class]), _panId, _extendedPanId, _networkName, _channel, _version,
        [_extendedAddress base64EncodedStringWithOptions:0], _rssi, _lqi];
    return descriptionString;
}

@end

@implementation MTRNetworkCommissioningClusterWiFiInterfaceScanResult
- (instancetype)init
{
    if (self = [super init]) {

        _security = @(0);

        _ssid = [NSData data];

        _bssid = [NSData data];

        _channel = @(0);

        _wiFiBand = @(0);

        _rssi = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: security:%@; ssid:%@; bssid:%@; channel:%@; wiFiBand:%@; rssi:%@; >",
                  NSStringFromClass([self class]), _security, [_ssid base64EncodedStringWithOptions:0],
                  [_bssid base64EncodedStringWithOptions:0], _channel, _wiFiBand, _rssi];
    return descriptionString;
}

@end

@implementation MTRGeneralDiagnosticsClusterNetworkInterfaceType
- (instancetype)init
{
    if (self = [super init]) {

        _name = @"";

        _isOperational = @(0);

        _offPremiseServicesReachableIPv4 = nil;

        _offPremiseServicesReachableIPv6 = nil;

        _hardwareAddress = [NSData data];

        _iPv4Addresses = [NSArray array];

        _iPv6Addresses = [NSArray array];

        _type = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: name:%@; isOperational:%@; offPremiseServicesReachableIPv4:%@; offPremiseServicesReachableIPv6:%@; "
                         @"hardwareAddress:%@; iPv4Addresses:%@; iPv6Addresses:%@; type:%@; >",
        NSStringFromClass([self class]), _name, _isOperational, _offPremiseServicesReachableIPv4, _offPremiseServicesReachableIPv6,
        [_hardwareAddress base64EncodedStringWithOptions:0], _iPv4Addresses, _iPv6Addresses, _type];
    return descriptionString;
}

@end

@implementation MTRGeneralDiagnosticsClusterHardwareFaultChangeEvent
- (instancetype)init
{
    if (self = [super init]) {

        _current = [NSArray array];

        _previous = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: current:%@; previous:%@; >", NSStringFromClass([self class]), _current, _previous];
    return descriptionString;
}

@end

@implementation MTRGeneralDiagnosticsClusterRadioFaultChangeEvent
- (instancetype)init
{
    if (self = [super init]) {

        _current = [NSArray array];

        _previous = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: current:%@; previous:%@; >", NSStringFromClass([self class]), _current, _previous];
    return descriptionString;
}

@end

@implementation MTRGeneralDiagnosticsClusterNetworkFaultChangeEvent
- (instancetype)init
{
    if (self = [super init]) {

        _current = [NSArray array];

        _previous = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: current:%@; previous:%@; >", NSStringFromClass([self class]), _current, _previous];
    return descriptionString;
}

@end

@implementation MTRGeneralDiagnosticsClusterBootReasonEvent
- (instancetype)init
{
    if (self = [super init]) {

        _bootReason = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: bootReason:%@; >", NSStringFromClass([self class]), _bootReason];
    return descriptionString;
}

@end

@implementation MTRSoftwareDiagnosticsClusterThreadMetrics
- (instancetype)init
{
    if (self = [super init]) {

        _id = @(0);

        _name = nil;

        _stackFreeCurrent = nil;

        _stackFreeMinimum = nil;

        _stackSize = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: id:%@; name:%@; stackFreeCurrent:%@; stackFreeMinimum:%@; stackSize:%@; >",
                  NSStringFromClass([self class]), _id, _name, _stackFreeCurrent, _stackFreeMinimum, _stackSize];
    return descriptionString;
}

@end

@implementation MTRSoftwareDiagnosticsClusterSoftwareFaultEvent
- (instancetype)init
{
    if (self = [super init]) {

        _id = @(0);

        _name = nil;

        _faultRecording = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: id:%@; name:%@; faultRecording:%@; >", NSStringFromClass([self class]), _id, _name,
                  [_faultRecording base64EncodedStringWithOptions:0]];
    return descriptionString;
}

@end

@implementation MTRThreadNetworkDiagnosticsClusterNeighborTable
- (instancetype)init
{
    if (self = [super init]) {

        _extAddress = @(0);

        _age = @(0);

        _rloc16 = @(0);

        _linkFrameCounter = @(0);

        _mleFrameCounter = @(0);

        _lqi = @(0);

        _averageRssi = nil;

        _lastRssi = nil;

        _frameErrorRate = @(0);

        _messageErrorRate = @(0);

        _rxOnWhenIdle = @(0);

        _fullThreadDevice = @(0);

        _fullNetworkData = @(0);

        _isChild = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:
            @"<%@: extAddress:%@; age:%@; rloc16:%@; linkFrameCounter:%@; mleFrameCounter:%@; lqi:%@; averageRssi:%@; lastRssi:%@; "
            @"frameErrorRate:%@; messageErrorRate:%@; rxOnWhenIdle:%@; fullThreadDevice:%@; fullNetworkData:%@; isChild:%@; >",
        NSStringFromClass([self class]), _extAddress, _age, _rloc16, _linkFrameCounter, _mleFrameCounter, _lqi, _averageRssi,
        _lastRssi, _frameErrorRate, _messageErrorRate, _rxOnWhenIdle, _fullThreadDevice, _fullNetworkData, _isChild];
    return descriptionString;
}

@end

@implementation MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents
- (instancetype)init
{
    if (self = [super init]) {

        _activeTimestampPresent = @(0);

        _pendingTimestampPresent = @(0);

        _masterKeyPresent = @(0);

        _networkNamePresent = @(0);

        _extendedPanIdPresent = @(0);

        _meshLocalPrefixPresent = @(0);

        _delayPresent = @(0);

        _panIdPresent = @(0);

        _channelPresent = @(0);

        _pskcPresent = @(0);

        _securityPolicyPresent = @(0);

        _channelMaskPresent = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: activeTimestampPresent:%@; pendingTimestampPresent:%@; masterKeyPresent:%@; networkNamePresent:%@; "
                         @"extendedPanIdPresent:%@; meshLocalPrefixPresent:%@; delayPresent:%@; panIdPresent:%@; "
                         @"channelPresent:%@; pskcPresent:%@; securityPolicyPresent:%@; channelMaskPresent:%@; >",
        NSStringFromClass([self class]), _activeTimestampPresent, _pendingTimestampPresent, _masterKeyPresent, _networkNamePresent,
        _extendedPanIdPresent, _meshLocalPrefixPresent, _delayPresent, _panIdPresent, _channelPresent, _pskcPresent,
        _securityPolicyPresent, _channelMaskPresent];
    return descriptionString;
}

@end

@implementation MTRThreadNetworkDiagnosticsClusterRouteTable
- (instancetype)init
{
    if (self = [super init]) {

        _extAddress = @(0);

        _rloc16 = @(0);

        _routerId = @(0);

        _nextHop = @(0);

        _pathCost = @(0);

        _lqiIn = @(0);

        _lqiOut = @(0);

        _age = @(0);

        _allocated = @(0);

        _linkEstablished = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: extAddress:%@; rloc16:%@; routerId:%@; nextHop:%@; pathCost:%@; lqiIn:%@; lqiOut:%@; "
                                   @"age:%@; allocated:%@; linkEstablished:%@; >",
                  NSStringFromClass([self class]), _extAddress, _rloc16, _routerId, _nextHop, _pathCost, _lqiIn, _lqiOut, _age,
                  _allocated, _linkEstablished];
    return descriptionString;
}

@end

@implementation MTRThreadNetworkDiagnosticsClusterSecurityPolicy
- (instancetype)init
{
    if (self = [super init]) {

        _rotationTime = @(0);

        _flags = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: rotationTime:%@; flags:%@; >", NSStringFromClass([self class]), _rotationTime, _flags];
    return descriptionString;
}

@end

@implementation MTRThreadNetworkDiagnosticsClusterConnectionStatusEvent
- (instancetype)init
{
    if (self = [super init]) {

        _connectionStatus = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: connectionStatus:%@; >", NSStringFromClass([self class]), _connectionStatus];
    return descriptionString;
}

@end

@implementation MTRWiFiNetworkDiagnosticsClusterDisconnectionEvent
- (instancetype)init
{
    if (self = [super init]) {

        _reasonCode = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: reasonCode:%@; >", NSStringFromClass([self class]), _reasonCode];
    return descriptionString;
}

@end

@implementation MTRWiFiNetworkDiagnosticsClusterAssociationFailureEvent
- (instancetype)init
{
    if (self = [super init]) {

        _associationFailure = @(0);

        _status = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: associationFailure:%@; status:%@; >",
                                             NSStringFromClass([self class]), _associationFailure, _status];
    return descriptionString;
}

@end

@implementation MTRWiFiNetworkDiagnosticsClusterConnectionStatusEvent
- (instancetype)init
{
    if (self = [super init]) {

        _connectionStatus = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: connectionStatus:%@; >", NSStringFromClass([self class]), _connectionStatus];
    return descriptionString;
}

@end

@implementation MTRBridgedDeviceBasicClusterStartUpEvent
- (instancetype)init
{
    if (self = [super init]) {

        _softwareVersion = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: softwareVersion:%@; >", NSStringFromClass([self class]), _softwareVersion];
    return descriptionString;
}

@end

@implementation MTRBridgedDeviceBasicClusterShutDownEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRBridgedDeviceBasicClusterLeaveEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRBridgedDeviceBasicClusterReachableChangedEvent
- (instancetype)init
{
    if (self = [super init]) {

        _reachableNewValue = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: reachableNewValue:%@; >", NSStringFromClass([self class]), _reachableNewValue];
    return descriptionString;
}

@end

@implementation MTRSwitchClusterSwitchLatchedEvent
- (instancetype)init
{
    if (self = [super init]) {

        _newPosition = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: newPosition:%@; >", NSStringFromClass([self class]), _newPosition];
    return descriptionString;
}

@end

@implementation MTRSwitchClusterInitialPressEvent
- (instancetype)init
{
    if (self = [super init]) {

        _newPosition = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: newPosition:%@; >", NSStringFromClass([self class]), _newPosition];
    return descriptionString;
}

@end

@implementation MTRSwitchClusterLongPressEvent
- (instancetype)init
{
    if (self = [super init]) {

        _newPosition = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: newPosition:%@; >", NSStringFromClass([self class]), _newPosition];
    return descriptionString;
}

@end

@implementation MTRSwitchClusterShortReleaseEvent
- (instancetype)init
{
    if (self = [super init]) {

        _previousPosition = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: previousPosition:%@; >", NSStringFromClass([self class]), _previousPosition];
    return descriptionString;
}

@end

@implementation MTRSwitchClusterLongReleaseEvent
- (instancetype)init
{
    if (self = [super init]) {

        _previousPosition = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: previousPosition:%@; >", NSStringFromClass([self class]), _previousPosition];
    return descriptionString;
}

@end

@implementation MTRSwitchClusterMultiPressOngoingEvent
- (instancetype)init
{
    if (self = [super init]) {

        _newPosition = @(0);

        _currentNumberOfPressesCounted = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: newPosition:%@; currentNumberOfPressesCounted:%@; >",
                                             NSStringFromClass([self class]), _newPosition, _currentNumberOfPressesCounted];
    return descriptionString;
}

@end

@implementation MTRSwitchClusterMultiPressCompleteEvent
- (instancetype)init
{
    if (self = [super init]) {

        _newPosition = @(0);

        _totalNumberOfPressesCounted = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: newPosition:%@; totalNumberOfPressesCounted:%@; >",
                                             NSStringFromClass([self class]), _newPosition, _totalNumberOfPressesCounted];
    return descriptionString;
}

@end

@implementation MTROperationalCredentialsClusterFabricDescriptor
- (instancetype)init
{
    if (self = [super init]) {

        _rootPublicKey = [NSData data];

        _vendorId = @(0);

        _fabricId = @(0);

        _nodeId = @(0);

        _label = @"";

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: rootPublicKey:%@; vendorId:%@; fabricId:%@; nodeId:%@; label:%@; fabricIndex:%@; >",
                  NSStringFromClass([self class]), [_rootPublicKey base64EncodedStringWithOptions:0], _vendorId, _fabricId, _nodeId,
                  _label, _fabricIndex];
    return descriptionString;
}

@end

@implementation MTROperationalCredentialsClusterNOCStruct
- (instancetype)init
{
    if (self = [super init]) {

        _noc = [NSData data];

        _icac = nil;

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: noc:%@; icac:%@; fabricIndex:%@; >", NSStringFromClass([self class]),
                  [_noc base64EncodedStringWithOptions:0], [_icac base64EncodedStringWithOptions:0], _fabricIndex];
    return descriptionString;
}

@end

@implementation MTRGroupKeyManagementClusterGroupInfoMapStruct
- (instancetype)init
{
    if (self = [super init]) {

        _groupId = @(0);

        _endpoints = [NSArray array];

        _groupName = nil;

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: groupId:%@; endpoints:%@; groupName:%@; fabricIndex:%@; >",
                                             NSStringFromClass([self class]), _groupId, _endpoints, _groupName, _fabricIndex];
    return descriptionString;
}

@end

@implementation MTRGroupKeyManagementClusterGroupKeyMapStruct
- (instancetype)init
{
    if (self = [super init]) {

        _groupId = @(0);

        _groupKeySetID = @(0);

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: groupId:%@; groupKeySetID:%@; fabricIndex:%@; >",
                                             NSStringFromClass([self class]), _groupId, _groupKeySetID, _fabricIndex];
    return descriptionString;
}

@end

@implementation MTRGroupKeyManagementClusterGroupKeySetStruct
- (instancetype)init
{
    if (self = [super init]) {

        _groupKeySetID = @(0);

        _groupKeySecurityPolicy = @(0);

        _epochKey0 = nil;

        _epochStartTime0 = nil;

        _epochKey1 = nil;

        _epochStartTime1 = nil;

        _epochKey2 = nil;

        _epochStartTime2 = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: groupKeySetID:%@; groupKeySecurityPolicy:%@; epochKey0:%@; epochStartTime0:%@; "
                                   @"epochKey1:%@; epochStartTime1:%@; epochKey2:%@; epochStartTime2:%@; >",
                  NSStringFromClass([self class]), _groupKeySetID, _groupKeySecurityPolicy,
                  [_epochKey0 base64EncodedStringWithOptions:0], _epochStartTime0, [_epochKey1 base64EncodedStringWithOptions:0],
                  _epochStartTime1, [_epochKey2 base64EncodedStringWithOptions:0], _epochStartTime2];
    return descriptionString;
}

@end

@implementation MTRFixedLabelClusterLabelStruct
- (instancetype)init
{
    if (self = [super init]) {

        _label = @"";

        _value = @"";
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: label:%@; value:%@; >", NSStringFromClass([self class]), _label, _value];
    return descriptionString;
}

@end

@implementation MTRUserLabelClusterLabelStruct
- (instancetype)init
{
    if (self = [super init]) {

        _label = @"";

        _value = @"";
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: label:%@; value:%@; >", NSStringFromClass([self class]), _label, _value];
    return descriptionString;
}

@end

@implementation MTRBooleanStateClusterStateChangeEvent
- (instancetype)init
{
    if (self = [super init]) {

        _stateValue = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: stateValue:%@; >", NSStringFromClass([self class]), _stateValue];
    return descriptionString;
}

@end

@implementation MTRModeSelectClusterSemanticTag
- (instancetype)init
{
    if (self = [super init]) {

        _mfgCode = @(0);

        _value = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: mfgCode:%@; value:%@; >", NSStringFromClass([self class]), _mfgCode, _value];
    return descriptionString;
}

@end

@implementation MTRModeSelectClusterModeOptionStruct
- (instancetype)init
{
    if (self = [super init]) {

        _label = @"";

        _mode = @(0);

        _semanticTags = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: label:%@; mode:%@; semanticTags:%@; >",
                                             NSStringFromClass([self class]), _label, _mode, _semanticTags];
    return descriptionString;
}

@end

@implementation MTRDoorLockClusterDlCredential
- (instancetype)init
{
    if (self = [super init]) {

        _credentialType = @(0);

        _credentialIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: credentialType:%@; credentialIndex:%@; >",
                                             NSStringFromClass([self class]), _credentialType, _credentialIndex];
    return descriptionString;
}

@end

@implementation MTRDoorLockClusterDoorLockAlarmEvent
- (instancetype)init
{
    if (self = [super init]) {

        _alarmCode = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: alarmCode:%@; >", NSStringFromClass([self class]), _alarmCode];
    return descriptionString;
}

@end

@implementation MTRDoorLockClusterDoorStateChangeEvent
- (instancetype)init
{
    if (self = [super init]) {

        _doorState = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: doorState:%@; >", NSStringFromClass([self class]), _doorState];
    return descriptionString;
}

@end

@implementation MTRDoorLockClusterLockOperationEvent
- (instancetype)init
{
    if (self = [super init]) {

        _lockOperationType = @(0);

        _operationSource = @(0);

        _userIndex = nil;

        _fabricIndex = nil;

        _sourceNode = nil;

        _credentials = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:
            @"<%@: lockOperationType:%@; operationSource:%@; userIndex:%@; fabricIndex:%@; sourceNode:%@; credentials:%@; >",
        NSStringFromClass([self class]), _lockOperationType, _operationSource, _userIndex, _fabricIndex, _sourceNode, _credentials];
    return descriptionString;
}

@end

@implementation MTRDoorLockClusterLockOperationErrorEvent
- (instancetype)init
{
    if (self = [super init]) {

        _lockOperationType = @(0);

        _operationSource = @(0);

        _operationError = @(0);

        _userIndex = nil;

        _fabricIndex = nil;

        _sourceNode = nil;

        _credentials = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: lockOperationType:%@; operationSource:%@; operationError:%@; "
                                                              @"userIndex:%@; fabricIndex:%@; sourceNode:%@; credentials:%@; >",
                                             NSStringFromClass([self class]), _lockOperationType, _operationSource, _operationError,
                                             _userIndex, _fabricIndex, _sourceNode, _credentials];
    return descriptionString;
}

@end

@implementation MTRDoorLockClusterLockUserChangeEvent
- (instancetype)init
{
    if (self = [super init]) {

        _lockDataType = @(0);

        _dataOperationType = @(0);

        _operationSource = @(0);

        _userIndex = nil;

        _fabricIndex = nil;

        _sourceNode = nil;

        _dataIndex = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: lockDataType:%@; dataOperationType:%@; operationSource:%@; "
                                                              @"userIndex:%@; fabricIndex:%@; sourceNode:%@; dataIndex:%@; >",
                                             NSStringFromClass([self class]), _lockDataType, _dataOperationType, _operationSource,
                                             _userIndex, _fabricIndex, _sourceNode, _dataIndex];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterSupplyVoltageLowEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterSupplyVoltageHighEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterPowerMissingPhaseEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterSystemPressureLowEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterSystemPressureHighEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterDryRunningEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterMotorTemperatureHighEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterPumpMotorFatalFailureEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterElectronicTemperatureHighEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterPumpBlockedEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterSensorFailureEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterElectronicNonFatalFailureEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterElectronicFatalFailureEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterGeneralFaultEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterLeakageEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterAirDetectionEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRPumpConfigurationAndControlClusterTurbineOperationEvent
- (instancetype)init
{
    if (self = [super init]) {
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
    return descriptionString;
}

@end

@implementation MTRThermostatClusterThermostatScheduleTransition
- (instancetype)init
{
    if (self = [super init]) {

        _transitionTime = @(0);

        _heatSetpoint = nil;

        _coolSetpoint = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: transitionTime:%@; heatSetpoint:%@; coolSetpoint:%@; >",
                                             NSStringFromClass([self class]), _transitionTime, _heatSetpoint, _coolSetpoint];
    return descriptionString;
}

@end

@implementation MTRChannelClusterChannelInfo
- (instancetype)init
{
    if (self = [super init]) {

        _majorNumber = @(0);

        _minorNumber = @(0);

        _name = nil;

        _callSign = nil;

        _affiliateCallSign = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: majorNumber:%@; minorNumber:%@; name:%@; callSign:%@; affiliateCallSign:%@; >",
                  NSStringFromClass([self class]), _majorNumber, _minorNumber, _name, _callSign, _affiliateCallSign];
    return descriptionString;
}

@end

@implementation MTRChannelClusterLineupInfo
- (instancetype)init
{
    if (self = [super init]) {

        _operatorName = @"";

        _lineupName = nil;

        _postalCode = nil;

        _lineupInfoType = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: operatorName:%@; lineupName:%@; postalCode:%@; lineupInfoType:%@; >",
                  NSStringFromClass([self class]), _operatorName, _lineupName, _postalCode, _lineupInfoType];
    return descriptionString;
}

@end

@implementation MTRTargetNavigatorClusterTargetInfo
- (instancetype)init
{
    if (self = [super init]) {

        _identifier = @(0);

        _name = @"";
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: identifier:%@; name:%@; >", NSStringFromClass([self class]), _identifier, _name];
    return descriptionString;
}

@end

@implementation MTRMediaPlaybackClusterPlaybackPosition
- (instancetype)init
{
    if (self = [super init]) {

        _updatedAt = @(0);

        _position = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: updatedAt:%@; position:%@; >", NSStringFromClass([self class]), _updatedAt, _position];
    return descriptionString;
}

@end

@implementation MTRMediaInputClusterInputInfo
- (instancetype)init
{
    if (self = [super init]) {

        _index = @(0);

        _inputType = @(0);

        _name = @"";

        _descriptionString = @"";
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: index:%@; inputType:%@; name:%@; descriptionString:%@; >",
                                             NSStringFromClass([self class]), _index, _inputType, _name, _descriptionString];
    return descriptionString;
}

@end

@implementation MTRContentLauncherClusterDimension
- (instancetype)init
{
    if (self = [super init]) {

        _width = @(0);

        _height = @(0);

        _metric = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: width:%@; height:%@; metric:%@; >", NSStringFromClass([self class]), _width, _height, _metric];
    return descriptionString;
}

@end

@implementation MTRContentLauncherClusterAdditionalInfo
- (instancetype)init
{
    if (self = [super init]) {

        _name = @"";

        _value = @"";
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: name:%@; value:%@; >", NSStringFromClass([self class]), _name, _value];
    return descriptionString;
}

@end

@implementation MTRContentLauncherClusterParameter
- (instancetype)init
{
    if (self = [super init]) {

        _type = @(0);

        _value = @"";

        _externalIDList = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: type:%@; value:%@; externalIDList:%@; >",
                                             NSStringFromClass([self class]), _type, _value, _externalIDList];
    return descriptionString;
}

@end

@implementation MTRContentLauncherClusterContentSearch
- (instancetype)init
{
    if (self = [super init]) {

        _parameterList = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: parameterList:%@; >", NSStringFromClass([self class]), _parameterList];
    return descriptionString;
}

@end

@implementation MTRContentLauncherClusterStyleInformation
- (instancetype)init
{
    if (self = [super init]) {

        _imageUrl = nil;

        _color = nil;

        _size = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: imageUrl:%@; color:%@; size:%@; >", NSStringFromClass([self class]), _imageUrl, _color, _size];
    return descriptionString;
}

@end

@implementation MTRContentLauncherClusterBrandingInformation
- (instancetype)init
{
    if (self = [super init]) {

        _providerName = @"";

        _background = nil;

        _logo = nil;

        _progressBar = nil;

        _splash = nil;

        _waterMark = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: providerName:%@; background:%@; logo:%@; progressBar:%@; splash:%@; waterMark:%@; >",
                  NSStringFromClass([self class]), _providerName, _background, _logo, _progressBar, _splash, _waterMark];
    return descriptionString;
}

@end

@implementation MTRAudioOutputClusterOutputInfo
- (instancetype)init
{
    if (self = [super init]) {

        _index = @(0);

        _outputType = @(0);

        _name = @"";
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: index:%@; outputType:%@; name:%@; >", NSStringFromClass([self class]), _index, _outputType, _name];
    return descriptionString;
}

@end

@implementation MTRApplicationLauncherClusterApplication
- (instancetype)init
{
    if (self = [super init]) {

        _catalogVendorId = @(0);

        _applicationId = @"";
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: catalogVendorId:%@; applicationId:%@; >",
                                             NSStringFromClass([self class]), _catalogVendorId, _applicationId];
    return descriptionString;
}

@end

@implementation MTRApplicationLauncherClusterApplicationEP
- (instancetype)init
{
    if (self = [super init]) {

        _application = [MTRApplicationLauncherClusterApplication new];

        _endpoint = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: application:%@; endpoint:%@; >", NSStringFromClass([self class]), _application, _endpoint];
    return descriptionString;
}

@end

@implementation MTRApplicationBasicClusterApplicationBasicApplication
- (instancetype)init
{
    if (self = [super init]) {

        _catalogVendorId = @(0);

        _applicationId = @"";
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: catalogVendorId:%@; applicationId:%@; >",
                                             NSStringFromClass([self class]), _catalogVendorId, _applicationId];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterSimpleStruct
- (instancetype)init
{
    if (self = [super init]) {

        _a = @(0);

        _b = @(0);

        _c = @(0);

        _d = [NSData data];

        _e = @"";

        _f = @(0);

        _g = @(0);

        _h = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: a:%@; b:%@; c:%@; d:%@; e:%@; f:%@; g:%@; h:%@; >", NSStringFromClass([self class]), _a,
                  _b, _c, [_d base64EncodedStringWithOptions:0], _e, _f, _g, _h];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterTestFabricScoped
- (instancetype)init
{
    if (self = [super init]) {

        _fabricSensitiveInt8u = @(0);

        _optionalFabricSensitiveInt8u = nil;

        _nullableFabricSensitiveInt8u = nil;

        _nullableOptionalFabricSensitiveInt8u = nil;

        _fabricSensitiveCharString = @"";

        _fabricSensitiveStruct = [MTRTestClusterClusterSimpleStruct new];

        _fabricSensitiveInt8uList = [NSArray array];

        _fabricIndex = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString
        stringWithFormat:@"<%@: fabricSensitiveInt8u:%@; optionalFabricSensitiveInt8u:%@; nullableFabricSensitiveInt8u:%@; "
                         @"nullableOptionalFabricSensitiveInt8u:%@; fabricSensitiveCharString:%@; fabricSensitiveStruct:%@; "
                         @"fabricSensitiveInt8uList:%@; fabricIndex:%@; >",
        NSStringFromClass([self class]), _fabricSensitiveInt8u, _optionalFabricSensitiveInt8u, _nullableFabricSensitiveInt8u,
        _nullableOptionalFabricSensitiveInt8u, _fabricSensitiveCharString, _fabricSensitiveStruct, _fabricSensitiveInt8uList,
        _fabricIndex];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterNullablesAndOptionalsStruct
- (instancetype)init
{
    if (self = [super init]) {

        _nullableInt = nil;

        _optionalInt = nil;

        _nullableOptionalInt = nil;

        _nullableString = nil;

        _optionalString = nil;

        _nullableOptionalString = nil;

        _nullableStruct = nil;

        _optionalStruct = nil;

        _nullableOptionalStruct = nil;

        _nullableList = nil;

        _optionalList = nil;

        _nullableOptionalList = nil;
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: nullableInt:%@; optionalInt:%@; nullableOptionalInt:%@; nullableString:%@; "
                                   @"optionalString:%@; nullableOptionalString:%@; nullableStruct:%@; optionalStruct:%@; "
                                   @"nullableOptionalStruct:%@; nullableList:%@; optionalList:%@; nullableOptionalList:%@; >",
                  NSStringFromClass([self class]), _nullableInt, _optionalInt, _nullableOptionalInt, _nullableString,
                  _optionalString, _nullableOptionalString, _nullableStruct, _optionalStruct, _nullableOptionalStruct,
                  _nullableList, _optionalList, _nullableOptionalList];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterNestedStruct
- (instancetype)init
{
    if (self = [super init]) {

        _a = @(0);

        _b = @(0);

        _c = [MTRTestClusterClusterSimpleStruct new];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString =
        [NSString stringWithFormat:@"<%@: a:%@; b:%@; c:%@; >", NSStringFromClass([self class]), _a, _b, _c];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterNestedStructList
- (instancetype)init
{
    if (self = [super init]) {

        _a = @(0);

        _b = @(0);

        _c = [MTRTestClusterClusterSimpleStruct new];

        _d = [NSArray array];

        _e = [NSArray array];

        _f = [NSArray array];

        _g = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: a:%@; b:%@; c:%@; d:%@; e:%@; f:%@; g:%@; >",
                                             NSStringFromClass([self class]), _a, _b, _c, _d, _e, _f, _g];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterDoubleNestedStructList
- (instancetype)init
{
    if (self = [super init]) {

        _a = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: a:%@; >", NSStringFromClass([self class]), _a];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterTestListStructOctet
- (instancetype)init
{
    if (self = [super init]) {

        _member1 = @(0);

        _member2 = [NSData data];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: member1:%@; member2:%@; >", NSStringFromClass([self class]),
                                             _member1, [_member2 base64EncodedStringWithOptions:0]];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterTestEventEvent
- (instancetype)init
{
    if (self = [super init]) {

        _arg1 = @(0);

        _arg2 = @(0);

        _arg3 = @(0);

        _arg4 = [MTRTestClusterClusterSimpleStruct new];

        _arg5 = [NSArray array];

        _arg6 = [NSArray array];
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: arg1:%@; arg2:%@; arg3:%@; arg4:%@; arg5:%@; arg6:%@; >",
                                             NSStringFromClass([self class]), _arg1, _arg2, _arg3, _arg4, _arg5, _arg6];
    return descriptionString;
}

@end

@implementation MTRTestClusterClusterTestFabricScopedEventEvent
- (instancetype)init
{
    if (self = [super init]) {

        _arg1 = @(0);
    }
    return self;
}

- (NSString *)description
{
    NSString * descriptionString = [NSString stringWithFormat:@"<%@: arg1:%@; >", NSStringFromClass([self class]), _arg1];
    return descriptionString;
}

@end

NS_ASSUME_NONNULL_END
